package com.yy.kit.string;

import com.xiaoleilu.hutool.util.StrUtil;

import java.util.UUID;

/**
 * <p>
 * 字符串工具类
 * </p>
 *
 * @author 杨阳
 * @since 2017年9月7日
 */
public class YYStrKits {

    /**
     * <p>
     * 获取32的uuid
     * </p>
     *
     * @return {@link String}
     * @author 杨阳
     * @since 2017年9月7日
     */
    public static String getTableId() {
        return UUID.randomUUID().toString().replaceAll("-", "");
    }

    /**
     * <p>
     * 如果字符串为空串或者为null，则返回真
     * </p>
     *
     * @param str 字符串
     * @return {@link Boolean}
     * @author 杨阳
     * @since 2017年9月8日
     */
    public static Boolean isBlank(String str) {
        return StrUtil.isBlank(str);
    }

    /**
     * <p>
     * 如果字符串不为空串或者为null，则返回真
     * </p>
     *
     * @param str 字符串
     * @return {@link Boolean}
     * @author 杨阳
     * @since 2017年9月8日
     */
    public static Boolean isNotBlank(String str) {
        return StrUtil.isNotBlank(str);
    }

    /**
     * <p>
     * 像打印日志一样格式化字符串
     * </p>
     *
     * @param pattern   带{}占位符的字符串
     * @param arguments 需要替换的内容
     * @return {@link String} 格式化好的字符串
     */
    public static String format(CharSequence pattern, Object... arguments) {
        return StrUtil.format(pattern, arguments);
    }

    /**
     * <p>
     * 辅助like语句使用，在给定的值左右各加一个"%"
     * </p>
     *
     * @param value 模糊查询的值
     * @return {@link String}
     */
    public static String like(String value) {
        StringBuilder sb = new StringBuilder();
        sb.append("%").append(value).append("%");
        return sb.toString();
    }
}
